package table2;
//Description:双向链表的主函数
/**顺序表和链表的区别   （一般从共同点出发）这两个数据结点的共同方式 就组织方式和描述方式不同
 *  1.顺序表底层是一个数组，逻辑上和物理上都是连通的
 *  2.链表是由若干个节点做成的一个数据结构 逻辑上是连续的 物理上（内存上）是不连续的
 *  操作：
 *  1.顺序表适合查找相关的操作 可以使用下标 直接获取相关的位置
 *  2.链表适合频繁的插入和删除操作此时不需要想顺序表一样移动元素链表的 插入只需要修改指向即可
 *  3.顺序表你需要看满不满满了要扩容 扩容之后不一定都能放满 利用率不高（空间上）
 */
public class Main {
    public static void main(String[] args) {
        MyDoubleLinkedList myDoubleLinkedList = new MyDoubleLinkedList();
        myDoubleLinkedList.addLast(12);
        myDoubleLinkedList.addLast(17);
        myDoubleLinkedList.addFirst(17);
        myDoubleLinkedList.addLast(20);
        myDoubleLinkedList.display();
        myDoubleLinkedList.remove(12);
        myDoubleLinkedList.display();
        myDoubleLinkedList.removeAll(17);
        myDoubleLinkedList.display();
        myDoubleLinkedList.addInsert(1,15);
        myDoubleLinkedList.display();
        myDoubleLinkedList.clear();
        myDoubleLinkedList.display();
    }
}
